package com.speedchina.common.message.wechat.message;

import com.alibaba.fastjson.JSON;
import lombok.Data;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


/**
 * 文本类型
 * 参数 content文本内容
 * mentioned_list userid的列表，提醒群中的指定成员(@某个成员)，@all表示提醒所有人 非必须参数
 * mentioned_mobile_list 手机号列表，提醒手机号对应的群成员
 * @author zyw
 */
@Data
public class TextMessage implements Message {
    /**
     * 内容
     */
    private String text;
    /**
     * 手机号列表，提醒手机号对应的群成员(@某个成员)，@all表示提醒所有人
     */
    private List<String> mentionedMobileList;
    /**
     * 是否@群内所有人
     */
    private boolean isAtAll;

    public List<String> getMentionedMobileList() {
		return mentionedMobileList;
	}

	public void setMentionedMobileList(List<String> mentionedMobileList) {
		this.mentionedMobileList = mentionedMobileList;
	}

	public String toJsonString() {
        Map<String, Object> items = new HashMap<String, Object>();
        //文本类型
        items.put("msgtype", "text");
        Map<String, Object> textContent = new HashMap<String, Object>();
        textContent.put("content", text);
//        if (StringUtils.isBlank(text)) {
//            throw new IllegalArgumentException("文本不能为空");
//        }
        if(isAtAll) {
        	if(mentionedMobileList==null){
                mentionedMobileList=new ArrayList<String>();
                mentionedMobileList.add("@all");
            }
        }
        if (mentionedMobileList != null && !mentionedMobileList.isEmpty()) {
        	textContent.put("mentioned_mobile_list", mentionedMobileList);
        }
        items.put("text", textContent);
        return JSON.toJSONString(items);
    }
}
